<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::AdditiveEpsilonIndicator Struct Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="structshark_1_1_additive_epsilon_indicator.html">AdditiveEpsilonIndicator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="structshark_1_1_additive_epsilon_indicator-members.html">List of all members</a> &#124;
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle"><div class="title">shark::AdditiveEpsilonIndicator Struct Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Implements the Additive approximation properties of sets.  
 <a href="structshark_1_1_additive_epsilon_indicator.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_additive_epsilon_indicator_8h_source.html">shark/Algorithms/DirectSearch/Operators/Indicators/AdditiveEpsilonIndicator.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a10777ba88cd77e98ba5c08cbca3335aa" id="r_a10777ba88cd77e98ba5c08cbca3335aa"><td class="memTemplParams" colspan="2">template&lt;typename ParetoFrontType , typename ParetoArchive &gt; </td></tr>
<tr class="memitem:a10777ba88cd77e98ba5c08cbca3335aa"><td class="memTemplItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structshark_1_1_additive_epsilon_indicator.html#a10777ba88cd77e98ba5c08cbca3335aa">leastContributor</a> (ParetoFrontType const &amp;front, ParetoArchive const &amp;) const</td></tr>
<tr class="memdesc:a10777ba88cd77e98ba5c08cbca3335aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a pareto front, returns the index of the point which is the least contributer.  <br /></td></tr>
<tr class="separator:a10777ba88cd77e98ba5c08cbca3335aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822ea35021309c86e3f2ce76442354b9" id="r_a822ea35021309c86e3f2ce76442354b9"><td class="memTemplParams" colspan="2">template&lt;typename ParetoFrontType , typename ParetoArchive &gt; </td></tr>
<tr class="memitem:a822ea35021309c86e3f2ce76442354b9"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; std::size_t &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structshark_1_1_additive_epsilon_indicator.html#a822ea35021309c86e3f2ce76442354b9">leastContributors</a> (ParetoFrontType const &amp;front, ParetoArchive const &amp;archive, std::size_t K) const</td></tr>
<tr class="separator:a822ea35021309c86e3f2ce76442354b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae950bee1dcfc504d1ba6a4bbda7847ee" id="r_ae950bee1dcfc504d1ba6a4bbda7847ee"><td class="memTemplParams" colspan="2">template&lt;class random &gt; </td></tr>
<tr class="memitem:ae950bee1dcfc504d1ba6a4bbda7847ee"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structshark_1_1_additive_epsilon_indicator.html#ae950bee1dcfc504d1ba6a4bbda7847ee">init</a> (std::size_t, std::size_t, random &amp;)</td></tr>
<tr class="separator:ae950bee1dcfc504d1ba6a4bbda7847ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94529f7965a68a59b3a146a2f83f4654" id="r_a94529f7965a68a59b3a146a2f83f4654"><td class="memTemplParams" colspan="2">template&lt;typename Archive &gt; </td></tr>
<tr class="memitem:a94529f7965a68a59b3a146a2f83f4654"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structshark_1_1_additive_epsilon_indicator.html#a94529f7965a68a59b3a146a2f83f4654">serialize</a> (Archive &amp;, const unsigned int)</td></tr>
<tr class="separator:a94529f7965a68a59b3a146a2f83f4654"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implements the Additive approximation properties of sets. </p>
<p>The additive approximation measures which value must be subtracted from a reference set until it becomes dominated by a target set.</p>
<p>The implemented least contributor algorithm calculates the point That is approximated best by the remaining points. Thus the reference set is the full set and the target sets all in which one point is removed.</p>
<p>See the following reference for further details:</p><ul>
<li>Bringmann, Friedrich, Neumann, Wagner. Approximation-Guided Evolutionary Multi-Objective Optimization. IJCAI '11. </li>
</ul>

<p class="definition">Definition at line <a class="el" href="_additive_epsilon_indicator_8h_source.html#l00052">52</a> of file <a class="el" href="_additive_epsilon_indicator_8h_source.html">AdditiveEpsilonIndicator.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ae950bee1dcfc504d1ba6a4bbda7847ee" name="ae950bee1dcfc504d1ba6a4bbda7847ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae950bee1dcfc504d1ba6a4bbda7847ee">&#9670;&#160;</a></span>init()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class random &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void shark::AdditiveEpsilonIndicator::init </td>
          <td>(</td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">random &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_additive_epsilon_indicator_8h_source.html#l00093">93</a> of file <a class="el" href="_additive_epsilon_indicator_8h_source.html">AdditiveEpsilonIndicator.h</a>.</p>

</div>
</div>
<a id="a10777ba88cd77e98ba5c08cbca3335aa" name="a10777ba88cd77e98ba5c08cbca3335aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10777ba88cd77e98ba5c08cbca3335aa">&#9670;&#160;</a></span>leastContributor()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ParetoFrontType , typename ParetoArchive &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::size_t shark::AdditiveEpsilonIndicator::leastContributor </td>
          <td>(</td>
          <td class="paramtype">ParetoFrontType const &amp;&#160;</td>
          <td class="paramname"><em>front</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ParetoArchive const &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Given a pareto front, returns the index of the point which is the least contributer. </p>
<p>The archive has no effect on the volume as the archive is dominating all points in the front </p>

<p class="definition">Definition at line <a class="el" href="_additive_epsilon_indicator_8h_source.html#l00057">57</a> of file <a class="el" href="_additive_epsilon_indicator_8h_source.html">AdditiveEpsilonIndicator.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1_additive_epsilon_indicator.html#a822ea35021309c86e3f2ce76442354b9">leastContributors()</a>.</p>

</div>
</div>
<a id="a822ea35021309c86e3f2ce76442354b9" name="a822ea35021309c86e3f2ce76442354b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a822ea35021309c86e3f2ce76442354b9">&#9670;&#160;</a></span>leastContributors()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ParetoFrontType , typename ParetoArchive &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; std::size_t &gt; shark::AdditiveEpsilonIndicator::leastContributors </td>
          <td>(</td>
          <td class="paramtype">ParetoFrontType const &amp;&#160;</td>
          <td class="paramname"><em>front</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ParetoArchive const &amp;&#160;</td>
          <td class="paramname"><em>archive</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::size_t&#160;</td>
          <td class="paramname"><em>K</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_additive_epsilon_indicator_8h_source.html#l00077">77</a> of file <a class="el" href="_additive_epsilon_indicator_8h_source.html">AdditiveEpsilonIndicator.h</a>.</p>

<p class="reference">References <a class="el" href="structshark_1_1_additive_epsilon_indicator.html#a10777ba88cd77e98ba5c08cbca3335aa">leastContributor()</a>.</p>

</div>
</div>
<a id="a94529f7965a68a59b3a146a2f83f4654" name="a94529f7965a68a59b3a146a2f83f4654"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94529f7965a68a59b3a146a2f83f4654">&#9670;&#160;</a></span>serialize()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Archive &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void shark::AdditiveEpsilonIndicator::serialize </td>
          <td>(</td>
          <td class="paramtype">Archive &amp;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_additive_epsilon_indicator_8h_source.html#l00096">96</a> of file <a class="el" href="_additive_epsilon_indicator_8h_source.html">AdditiveEpsilonIndicator.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/shark/Algorithms/DirectSearch/Operators/Indicators/<a class="el" href="_additive_epsilon_indicator_8h_source.html">AdditiveEpsilonIndicator.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
